Multiple input multiple output communication system and communication method of adaptably transforming codebook

ABSTRACT

A multiple input multiple output (MIMO) communication system including a base station and at least one terminal may adaptively transform a codebook. The terminal may calculate one or more correlation matrices based on one or more subchannel matrices included in a channel matrix. The terminal may feed back information for the base station to reconstruct the one or more correlation matrices. The terminal may transform a codebook stored in the memory of the terminal, based on the one or more correlation matrices. The base station may verify the one or more correlation matrices using the information for the base station to reconstruct the one or more correlation matrices. The base station may transform a codebook stored in the memory of the base station such that the transformed base station codebook is the same as the transformed terminal codebook.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. §119(e) of a U.S.Provisional Application No. 61/106,650, filed Oct. 20, 2008, and thebenefit under 35 U.S.C. §119(a) of a Korean Patent Application No.10-2009-0085724, filed Sep. 11, 2009, in the Korean IntellectualProperty Office, the entire disclosures of which are incorporated hereinby reference for all purposes.

BACKGROUND

1. Field

The following description relates to a multiple input multiple output(MIMO) communication system, a codebook and a method of adaptablytransforming the codebook.

2. Description of the Related Art

Studies are being conducted on various types of multimedia services suchas voice services that can support high quality and high speed datatransmission in a wireless communication environment. Technologiesassociated with a multiple input multiple output (MIMO) communicationsystem using multiple channels in a spatial area are in rapiddevelopment.

In a MIMO communication system, a base station and terminals may use acodebook. A particular space may be quantized into a plurality ofvectors or matrices. The plurality of vectors and/or matrices that aregenerated by quantizing the particular space may be stored in the basestation and the terminals as the codebook.

For example, a terminal may select any one codeword from a plurality ofcodewords included in the codebook. The selected codeword may be basedon a channel that is formed between the base station and the terminal.The base station may also recognize the selected codeword based on thecodebook. The selected codeword may be used as a beamforming vector togenerate a transmission signal between the base station and theterminal.

The design of a codebook is an important issue in the MIMO communicationsystem. For example, it may be effective to design the codebook to beconsistent with a variable channel environment. In particular, even inan environment where there is some constraint on a number of feedbackbits, it is possible to enhance a throughput of the MIMO communicationsystem, and to decrease a quantization error using a codebook.

SUMMARY

In one general aspect, there is provided a communication method of areceiver, the method including calculating a channel matrix between thereceiver and a transmitter, calculating one or more correlation matricescorresponding to the channel matrix between the receiver and thetransmitter, and feeding back information for the transmitter torecognize the one or more correlation matrices.

The calculating a channel matrix may further include decomposing thechannel matrix into at least two subchannels, and the calculatingcomprises calculating at least two correlation matrices that correspondto the at least two subchannel matrices.

The decomposing may include decomposing the channel matrix into the atleast two subchannel matrices is based on at least one of thepolarization of one or more transmit antennas installed in thetransmitter, and the polarization of one or more receive antennasinstalled in the receiver.

The method may further include decomposing each of the one or morecorrelation matrices into a plurality of sub blocks, normalizing a powerof the sub blocks included in each of the one or more correlationmatrices using normalization factors, and feeding back to thetransmitter information associated with the normalization factors.

The method may further include unifying the normalization factors intoat least one value to generate information associated with thenormalization factors.

The method may further include generating information for thetransmitter to reconstruct the at least two correlation matrices thatare associated with a plurality of sub blocks included in each of the atleast two correlation matrices.

The generating may include calculating a sum or an average between aplurality of sub blocks included in a particular correlation matrix, andanother plurality of sub blocks included in at least one othercorrelation matrix, to generate information for the transmitter toreconstruct the at least two correlation matrices.

The generating may include generating information for the transmitter toreconstruct the at least two correlation matrices using a symmetry ofeach of the at least two correlation matrices.

The feeding back may include feeding back information for thetransmitter to reconstruct the one or more correlation matrices so thatthe transmitter transforms a first codebook to a second codebook.

The method may further include transforming a first codebook to a secondcodebook using the one or more correlation matrices.

The method may further include selecting a preferred vector or apreferred matrix using the second codebook, and feeding back to thetransmitter information associated with the preferred vector or thepreferred matrix.

In another general aspect, there is provided a communication method of atransmitter, the method including receiving information for thetransmitter to reconstruct one or more correlation matricescorresponding to a channel matrix between a receiver and thetransmitter, recognizing the one or more correlation matrices using theinformation received for the transmitter to reconstruct the one or morecorrelation matrices, and transforming a first codebook to a secondcodebook using the one or more correlation matrices.

The method may further include generating a precoding matrix using thesecond codebook.

The receiving may include receiving information for the transmitter toreconstruct at least two correlation matrices corresponding to at leasttwo subchannel matrices included in a channel matrix, and therecognizing comprises recognizing the at least two correlation matrices.

The recognizing may include recognizing the at least two correlationmatrices using a symmetry of each of the at least two correlationmatrices.

The information for the transmitter to reconstruct the at least twocorrelation matrices may be associated with a sum or an average betweena plurality of sub blocks, included in a particular correlation matrix,and another plurality of sub blocks, included in at least one othercorrelation matrix.

The method may further include receiving information associated withnormalization factors that are used to normalize a plurality of subblocks included in each of the one or more correlation matrices.

Information associated with the normalization factors may be associatedwith at least one value used to unify the normalization factors.

In still another general aspect, there is provided a computer-readablerecording medium storing a program to implement a method includingcalculating a channel matrix between a receiver and a transmitter,calculating one or more correlation matrices corresponding to thechannel matrix between the receiver and the transmitter, and feedingback information for the transmitter to recognize the one or morecorrelation matrices.

In yet another general aspect, there is provided a receiver including achannel matrix calculator to calculate a channel matrix, a correlationmatrix calculator to calculate one or more correlation matricescorresponding to the channel matrix between the receiver and atransmitter, and a feedback unit to feed back information for thetransmitter to reconstruct the one or more correlation matrices.

The channel matrix calculator may calculate a channel matrix anddecomposes the channel matrix into at least two subchannel matrices.

The receiver may further include a power normalization unit to normalizea power of sub blocks included in each of the one or more correlationmatrices using normalization factors, wherein the feedback unit feedsback information associated with the normalization factors.

The receiver may further include an information generator to generateinformation for the transmitter to reconstruct the one or morecorrelation matrices that are associated with a plurality of sub blocksincluded in each of the one or more correlation matrices.

The receiver may further include a codebook transformation unit totransform a first codebook to a second codebook using the one or morecorrelation matrices.

The receiver may further include a selector to select a preferred vectoror a preferred matrix using the second codebook, wherein the feedbackunit feeds back, to the transmitter, information associated with thepreferred vector or the preferred matrix.

Where codewords included in the first codebook include at least twovectors, the codebook transformation unit may transform the firstcodebook to the second codebook by making at least two correlationmatrices of the one or more correlation matrices, correspond to the atleast two vectors.

In still yet another general aspect, there is provided a transmitterincluding an information receiver to receive information for thetransmitter to reconstruct one or more correlation matricescorresponding to a channel matrix between a receiver and thetransmitter, a correlation matrix recognition unit to recognize the oneor more correlation matrices using the information for the transmitterto reconstruct the one or more correlation matrices, and a codebooktransformation unit to transform a first codebook to a second codebookusing the at least two correlation matrices.

The transmitter may further include a precoder to generate a precodingmatrix using the second codebook.

Where codewords included in the first codebook include at least twovectors, the codebook transformation unit may transform the firstcodebook to the second codebook by making at least two correlationmatrices of the one or more correlation matrices, correspond to the atleast two vectors, respectively.

Other features and aspects will be apparent from the following detaileddescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an exemplary multi-user multiple inputmultiple output (MIMO) communication system.

FIG. 2 is a conceptual diagram illustrating another exemplary multi-userMIMO communication system.

FIG. 3 is a flowchart illustrating an exemplary method of transforming acodebook by a base station and a terminal.

FIG. 4 is a block diagram illustrating an exemplary terminal.

FIG. 5 is a block diagram illustrating an exemplary base station.

Throughout the drawings and the detailed description, unless otherwisedescribed, the same drawing reference numerals will be understood torefer to the same elements, features, and structures. The relative sizeand depiction of these elements may be exaggerated for clarity,illustration, and convenience.

DETAILED DESCRIPTION

The following detailed description is provided to assist the reader ingaining a comprehensive understanding of the methods, apparatuses,and/or systems described herein. Accordingly, various changes,modifications, and equivalents of the systems, apparatuses, and/ormethods described herein will be suggested to those of ordinary skill inthe art. Also, description of well-known functions and constructions maybe omitted for increased clarity and conciseness.

Hereinafter, exemplary embodiments will be described in detail withreference to the accompanying drawings.

FIG. 1 illustrates an exemplary multi-user multiple input multipleoutput (MIMO) communication system.

The multi-user MIMO communication system includes a base station 110,and a plurality of users (user 1, user 2, user n_(u)) 120, 130, and 140.As referred to herein, a user is the same as a terminal. In thisexemplary system a plurality of users are present, but it will beappreciated that only one user may be present in the system. One or moreantennas may be installed in the base station 110. A single antenna or aplurality of antennas may be installed in each of the plurality of users120, 130, and 140. Channels may be formed between the base station 110and each of the users 120, 130, and 140. For example, a channel may beformed between base station 110 and user 120, a channel may be formedbetween base station 110 and user 130, and a channel may be formedbetween base station 110 and channel 140. The base station 110 maycommunicate with the users 120, 130, and 140 via the formed channels.

The base station 110 may transmit at least one data stream to theplurality of users 120, 130, and 140. The base station 110 may performbeamforming for the data streams according to a spatial divisionmultiplex access (SDMA) scheme to thereby generate a transmissionsignal. The base station 110 may generate a precoding matrix based on acodebook, and generate a transmission signal based on the generatedprecoding matrix.

The base station 110 may transmit a well-known signal such as a pilotsignal to the plurality of users 120, 130, and 140 via downlinkchannels. The users 120, 130, and 140 may receive the pilot signal toestimate a channel H_(k) that is formed between the base station 110 andeach individual user 120, 130, and 140. In this example, k denotes auser index. The users 120, 130, and 140 may select, as a preferredvector or a preferred matrix

{u_(i)}_(i = 1)^(2^(B)),

any codeword from a codebook including a plurality of codewords, basedon the estimated channel H_(k). For example, the codebook may include aplurality of vectors for a case where a communication rank is 1, and mayinclude a plurality of matrices for a case where the transmission rankis greater than 1. In

{u_(i)}_(i = 1)^(2^(B)),

u_(i) denotes an i^(th) codeword included in the codebook, and B denotesa number of feedback bits. Where the number of feedback bits is B bits,2^(B) codewords may be generated by quantizing a space and the codewordsmay be stored in the codebook.

The users 120, 130, and 140 may select, as the preferred vector or thepreferred matrix {u_(i)}_(i=1) ² ^(B) , any one vector or matrix fromthe 2^(B) codewords, based on various types of conditions.

For example, the users 120, 130, and 140 may select, as the preferredvector or the preferred matrix {u_(i)}_(i=1) ² ^(B) , any one codewordfrom the 2^(B) codewords, based on an achievable data transmission rateor a signal-to-interference and noise ratio (SINR). The users 120, 130,and 140 may also determine the user's own preferred transmission rank.In this example, the transmission rank denotes a number of data streams.For example, a user having the transmission rank greater than 1 mayselect the preferred matrix. A user having the transmission rank 1 mayselect the preferred vector.

The users 120, 130, and 140 may feed back, to the base station 110,information associated with the selected preferred vector or thepreferred matrix {u_(i)}_(i=1) ² ^(B) . Information associated with thepreferred vector or the preferred matrix may be referred to as channeldirection information (CDI).

The base station 110 may receive information associated with thepreferred vector or the preferred matrix {u_(i)}_(i=1) ² ^(B) receivedfrom the users 120, 130, and 140, and may determine a precoding matrix{W_(k)}_(k=1) ^(k=K). The base station 110 may select one or more of theusers 120, 130, and 140 according to various types of user selectionalgorithms, for example, a semi-orthogonal user selection (SUS)algorithm, a greedy user selection (GUS) algorithm, and the like.

The same codebook that is stored in the plurality of users 120, 130, and140, may be stored in the base station 110.

The base station 110 may determine the precoding matrix {W_(k)}_(k=1)^(k=K) from the stored codebook, based on information associated withthe preferred vector or the preferred matrix {u_(i)}_(i=1) ² ^(B) thatis received from the plurality of users 120, 130, and 140. For example,the base station 110 may determine the precoding matrix {W_(k)}_(k=1)^(k=K) to maximize a total data transmission rate, that is, a sum rate.

The base station 110 may precode data streams S₁ and S_(N) based on thedetermined precoding matrix {W_(k)}_(k=1) ^(k=K) to generate thetransmission signal. A process of generating the transmission signal bythe base station 110 may be referred to as “beamforming.”

The channel environment between the base station 110 and the pluralityof users 120, 130, and 140 may be variable. Where the base station 110and the plurality of users 120, 130, and 140 use a fixed codebook, itmay be difficult to adapt to the varying channel environment. Forexample, where the codebook is fixed, the plurality of users 120, 130,and 140 may feed back, to the base station 110, information associatedwith the preferred vector or the preferred matrix. Based on thisinformation, the base station 110 may determine a set of users and amatrix made of selected vectors that is most appropriate for the channelenvironment at that time. However, the channel environment is not alwaysa stable environment, for example, because of user mobility, removal ofusers, addition of users, and various other factors. Thus, the channelenvironment may change to a point where the set of users selected andthe matrix of vectors selected is no longer the most appropriate.

Accordingly, there is a need for technology that may adaptively copewith the channel environment to enhance a performance of the multi-userMIMO communication system.

FIG. 2 illustrates a conceptual diagram of a multi-user MIMOcommunication system according to an exemplary embodiment.

The multi-user MIMO communication system includes a base station 210 anda plurality of users (user 1, user 2, user n_(u)) 220, 230, and 240.

As described above with reference to FIG. 1, the base station 210 maytransmit pilot signals to the plurality of users 220, 230, and 240. Theusers 220, 230, and 240 may estimate channels, formed between the basestation and each individual user 220, 230, and 240, based on the pilotsignal, and may calculate a channel matrix H_(k), where k denotes a userindex.

The users 220, 230, and 240 may calculate a correlation matrix R_(k) ofthe channel matrix H_(k) based on the calculated channel matrix H_(k).The correlation matrix R_(k) may be calculated as illustrated by thefollowing Equation 1:

$\begin{matrix}{{{R_{k}(t)} = {\frac{1}{T}{\sum\limits_{j = 0}^{T}{{H_{k}^{H}\left( {t - j} \right)}{H_{k}\left( {t - j} \right)}}}}},} & (1)\end{matrix}$

where H_(k)(t) denotes a channel matrix of a channel that is estimatedin a time t and T denotes a time slot corresponding to a calculationtarget of the correlation matrix R_(k).Averaging over the frequency domain is illustrated in the followingEquation 1-1:

$\begin{matrix}{{R_{k}(t)} = {\frac{1}{T}\frac{1}{F}{\sum\limits_{f = 0}^{F}{\sum\limits_{j = 0}^{T}{{H_{k}^{H}\left( {{t - j},f} \right)}{{H_{k}\left( {{t - j},f} \right)}.}}}}}} & \left( {1\text{-}1} \right)\end{matrix}$

In this example, H_(k)(t,f) denotes the channel matrix at time t andfrequency f.

It can be known from the above Equation 1 and Equation 1-1 that thecorrelation matrix R_(k) expresses a statistical characteristic withrespect to a change of the channel matrix H_(k). Where the statisticalcharacteristic with respect to the change of the channel matrix H_(k) isknown, adapting a codebook according to the change of the channel matrixH_(k) may decrease a quantization error and may also enhance aperformance of the MIMO communication system in comparison to the fixedcodebook.

In this example, the users 220, 230, and 240 may verify the varyingchannel environment based on the calculated correlation matrix R_(k),and adaptively change the codebook based on the verified channelenvironment based on the calculated correlation matrix. For example, afirst codebook used by the base station 210 and the plurality of users220, 230, and 240 may be transformed to a second codebook based on thecorrelation matrix R_(k).

The codebook used by the users 220, 230, and 240, and the base station210 may be transformed using various types of schemes based on thecorrelation matrix R_(k). For example, the users 220, 230, and 240 maycalculate the correlation matrix R_(k)=E{H_(k) ^(H)H_(k)} as illustratedby the above Equation 1, and may feed back, to the base station 210,information associated with the calculated correlation matrix R_(k). Inthis example, E{x} denotes an expectation of x. In this example, theusers 220, 230, and 240 may transform a base codebook C to a transformedcodebook T(R_(k), C). The base codebook C corresponds to a well-knownfixed codebook. The base station 210 may verify the correlation matrixR_(k) based on information associated with the correlation matrix R_(k),and may generate the same codebook as the transformed codebook T(R_(k),C) that is included in each of the users 220, 230, and 240.

The users 220, 230, and 240, and the base station 210 may verify astatistical characteristic of a channel by calculating a correlationmatrix according to the aforementioned scheme, and may adaptively usethe transformed codebook T(R_(k), C) based on the verified statisticalcharacteristic of the channel that may be applied to the channel matrixH_(k) having f=N(0, R). The channel matrix H_(k) may be Rayleigh fadinghaving f=N(0, R).

In some embodiments, the statistical characteristic of the channel isnot the Rayleigh fading, but is rather Ricean fading where the channelmatrix H_(k) has N( H, R_(t)). When Ricean fading is used, or whereantennas are dual polarized, it may be inappropriate to use thecorrelation matrix, calculated according to the aforementioned scheme,in order to generate the adaptively transformed codebook.

A dual polarized channel example is explained below. N(a, b) denotes anormal distribution with an average a and a variance b. Where transmitantennas installed in the base station 210, or receive antennasinstalled in the users 220, 230, and 240 are dual polarized, a channelmatrix H of a particular user may be modeled to

$H = {\begin{bmatrix}H_{w,11} & {\sqrt{\chi}H_{w,12}} \\{\sqrt{\chi}H_{w,21}} & H_{w,22}\end{bmatrix}.}$

In this example, χ denotes a value that is in inverse proportion to across polarization discrimination value (XPD), and 0≦χ≦1. The channelmatrix H may have an independent but non-identical distribution. Acorresponding correlation matrix may be calculated usingR=E{H^(H)H}=(1+χ)I_(n) _(t) . The correlation matrix of the channel maybe expressed as real-number folds of a unitary matrix. Therefore,although the base codebook C is transformed based on the correlationmatrix, a channel characteristic of the dual polarization may be barelyreflected. Accordingly, it may be inappropriate to apply theaforementioned codebook transformation scheme to a dual-polarizedchannel.

Hereinafter, a codebook transformation scheme applicable to a Rayleighfading channel and the dual-polarized channel will be described indetail.

Calculation of a Correlation Matrix

As described above, where a channel matrix between a base station and aparticular terminal is H, to calculate a correlation matrix using theabove Equation 1 in order to transform a codebook may not have aneffective result at all times.

Channel Estimation:

A terminal may estimate a channel between the terminal and a basestation using a well-known signal transmitted from the base station.

Labeling:

The terminal may label transmit antennas of the base station or receiveantennas of the terminal according to each polarization.

For example, in a dual-polarization case, among n_(r) receive antennas,indexes of receive antennas corresponding to one polarization, forexample, a vertical polarization may be listed from 1 through n_(r)/2.Indexes of receive antennas corresponding to another polarization, forexample, a horizontal polarization may be listed from n_(r)/2+1 throughn_(r). Where the receive antennas are single-polarized, the indexes ofthe receive antennas may not need to be labeled using a particularscheme or in a particular order. For example, the receive antennas maybe randomly grouped into two groups. The receive antennas correspondingto 1 through n_(r)/2 may be mapped to one group list, and the receiveantennas corresponding to n_(r)/2+1 through n_(r) may be mapped toanother group list. Also, among n_(t) transmit antennas, indexes oftransmit antennas corresponding to one polarization, for example, thevertical polarization may be listed from 1 through n_(t)/2. Indexes oftransmit antennas corresponding to another polarization, for example,the horizontal polarization may be listed from n_(t)/2+1 through n_(t).Where the transmit antennas are single-polarized, the indexes of thetransmit antennas may not need to be labeled using a particular schemeor in a particular order. For example, the transmit antennas may berandomly grouped into two groups. The transmit antennas corresponding to1 through n_(t)/2 may be mapped to one group list, and the transmitantennas corresponding to n_(t)/2+1 through n_(t) may be mapped toanother group list.

Construction of a Channel Matrix:

Where the transmit antennas of the base station or the receive antennasof the terminal are labeled according to each polarization, the terminalmay construct a channel matrix H including two subchannel matrices, asillustrated by the following Equation 2. In this example, the channelmatrix H including at least two subchannel matrices may be representedas:

$\begin{matrix}{H = {\begin{bmatrix}H_{1} \\H_{2}\end{bmatrix}.}} & (2)\end{matrix}$

In this example, an element corresponding to an i^(th) row and a j^(th)column of H denotes a channel coefficient between a receive antenna ofan index i and a transmit antenna of an index j.

-   -   Calculating of at least Two Correlation Matrices:

Where the channel matrix including at least two subchannel matrices areconstructed as shown in the above Equation 2, the terminal may calculatea correlation matrix corresponding to each of the at least twosubchannel matrices.

For example, a correlation matrix R₁ corresponding to a subchannelmatrix H₁ and a correlation matrix R₂ corresponding to a subchannelmatrix H₂ may be calculated as illustrated by the following Equation 3:

R₁=E{H₁ ^(H)H₁}

R₂=E{H₂ ^(H)H₂}  (3).

Where the transmit antennas are single-polarized, R₁≈R₂.

Feedback of a Correlation Matrix

Where one or more correlation matrices are calculated, information forthe base station (BS) transmitter to reconstruct the one or morecorrelation matrices may need to be fed back from a terminal to a basestation. For example, the terminal may obtain a transformed codebookbased on the one or more correlation matrices. The base station mayverify the one or more correlation matrices based on information for theBS transmitter to reconstruct the one or more correlation matrices, andmay obtain the same transformed codebook.

According to an exemplary embodiment, the terminal may providetechnology that may effectively feed back information for the BStransmitter to reconstruct the one or more correlation matrices.

In an exemplary embodiment, two correlation matrices R₁ and R₂ arecalculated. The terminal may quantize the correlation matrix R₁ and thecorrelation matrix R₂, and feed back, to the base station, informationassociated with the quantized correlation matrix R₁ and the correlationmatrix R₂. The above scheme may need a great amount of feedbackoverheads. In particular, in many scenarios, R₁≈R₂ and thus it may beineffective to quantize the correlation matrix R₁ and the correlationmatrix R₂, and to feed back, to the base station, the entire informationassociated with both the correlation matrix R₁ and the correlationmatrix R₂.

The terminal may perform the following procedures to decrease feedbackoverhead:

Decomposition of a Correlation Matrix:

The correlation matrix R₁ and the correlation matrix R₂ may have asymmetry. By using the symmetry of each of the correlation matrix R₁ andthe correlation matrix R₂, the terminal may decrease the feedbackoverhead needed to inform the base station about the correlation matrixR₁ and the correlation matrix R₂.

The correlation matrix R₁ and the correlation matrix R₂ may bedecomposed into a plurality of sub blocks, for example, four sub blocksas illustrated by the following Equation 4:

$\begin{matrix}{{R_{1} = {{E\left\{ {H_{1}^{H}H_{1}} \right\}} = \begin{bmatrix}R_{1,11} & R_{1,12} \\R_{1,21} & R_{1,22}\end{bmatrix}}}{R_{2} = {{E\left\{ {H_{2}^{H}H_{2}} \right\}} = {\begin{bmatrix}R_{2,11} & R_{2,12} \\R_{2,21} & R_{2,22}\end{bmatrix}.}}}} & (4)\end{matrix}$

Power Normalization of Sub Blocks:

Where each of the correlation matrix R₁ and the correlation matrix R₂ isdecomposed into a plurality of sub blocks, for example, four sub blocks,a power of the four sub blocks may be normalized, as illustrated by thefollowing Equation 5:

{tilde over (R)}_(i,kl)=χ_(i,kl)R_(i,kl)  (5).

In this example, χ_(i,kl) denotes a real scalar as a normalizationfactor, and is determined to satisfy Tr{|{tilde over(R)}_(i,kl)|}=n_(t)/2, where Tr{ } denotes a trace function.

Averaging:

Where {tilde over (R)}_(i,kl) is calculated, the terminal may calculatea sum or an average between sub blocks included in the correlationmatrix R₁, and sub blocks included in the correlation matrix R₂, todecrease the feedback overhead.

For example, the terminal may calculate a plurality of values asillustrated by the following Equation 6. In particular, four χ_(i,kl)may be unified into χ_(a). Six {tilde over (R)}_(i,kl)=χ_(i,kl)R_(i,kl)may be unified into {tilde over (R)}_(a,11), {tilde over (R)}_(a,22),and {tilde over (R)}_(a,12). The calculated values may be illustrated bythe following Equation 6:

$\begin{matrix}{{{\overset{\sim}{R}}_{a,11} = {\frac{1}{2}\left\lbrack {{\overset{\sim}{R}}_{1,11} + {\overset{\sim}{R}}_{2,11}} \right\rbrack}}{{\overset{\sim}{R}}_{a,22} = {\frac{1}{2}\left\lbrack {{\overset{\sim}{R}}_{1,22} + {\overset{\sim}{R}}_{2,22}} \right\rbrack}}{{\overset{\sim}{R}}_{a,12} = {\frac{1}{2}\left\lbrack {{\overset{\sim}{R}}_{1,12} + {\overset{\sim}{R}}_{2,12}} \right\rbrack}}{\chi_{a} = {{\frac{1}{2}\left\lbrack {\frac{\chi_{1,22}}{\chi_{1,11}} + \frac{\chi_{2,11}}{\chi_{2,22}}} \right\rbrack}.}}} & (6)\end{matrix}$

The terminal may quantize {tilde over (R)}_(a,11), {tilde over(R)}_(a,22), {tilde over (R)}_(a,12), and χ_(a) and shown in the aboveEquation 6, and may feed back, to the base station, the quantized {tildeover (R)}_(a,11), {tilde over (R)}_(a,22), {tilde over (R)}_(a,12), andχ_(a), as information associated with the correlation matrix R₁ and thecorrelation matrix R₂.

The base station may reconstruct the correlation matrix R₁ and thecorrelation matrix R₂ based on the quantized {tilde over (R)}_(a,11),{tilde over (R)}_(a,22), {tilde over (R)}_(a,12), and χ_(a), which isillustrated by the following Equation 7. The terminal may alsoreconstruct the correlation matrix R₁ and the correlation matrix R₂based on {tilde over (R)}_(a,11), {tilde over (R)}_(a,22), {tilde over(R)}_(a,12), and χ_(a) that are calculated using the above Equation 6.Equation 7 may follow as:

$\begin{matrix}{{R_{1} = \begin{bmatrix}{\overset{\sim}{R}}_{a,11} & {\sqrt{\chi_{a}}{\overset{\sim}{R}}_{a,12}} \\{\sqrt{\chi_{a}}{\overset{\sim}{R}}_{a,12}^{H}} & {\chi_{a}{\overset{\sim}{R}}_{a,22}}\end{bmatrix}}{R_{2} = {\begin{bmatrix}{\chi_{a}{\overset{\sim}{R}}_{a,11}} & {\sqrt{\chi_{a}}{\overset{\sim}{R}}_{a,12}} \\{\sqrt{\chi_{a}}{\overset{\sim}{R}}_{a,12}^{H}} & {\overset{\sim}{R}}_{a,22}\end{bmatrix}.}}} & (7)\end{matrix}$

It can be known from the above Equation 7 that the terminal and the basestation may share the correlation matrix R₁ and the correlation matrixR₂ by sharing {tilde over (R)}_(a,11), {tilde over (R)}_(a,22), {tildeover (R)}_(a,12), and χ_(a). Because the base station and the terminalmay share the correlation matrix R₁ and the correlation matrix R₂, thebase station and the terminal may obtain the same transformed codebook.

The terminal may perform the following procedures to decrease thefeedback overhead.

Decomposition of a Correlation Matrix:

The correlation matrix R₁ and the correlation matrix R₂ may have asymmetry. By using the symmetry of each of the correlation matrix R₁ andthe correlation matrix R₂, the terminal may decrease the feedbackoverhead required to inform the base station about the correlationmatrix R₁ and the correlation matrix R₂.

The correlation matrix R₁ and the correlation matrix R₂ may bedecomposed into four sub blocks as illustrated by the following Equation7-1:

$\begin{matrix}{{R_{1} = {{E\left\{ {H_{1}^{H}H_{1}} \right\}}\mspace{31mu} = \begin{bmatrix}R_{1,11} & R_{1,12} \\R_{1,21} & R_{1,22}\end{bmatrix}}}{R_{2} = {{E\left\{ {H_{2}^{H}H_{2}} \right\}}\mspace{31mu} = \begin{bmatrix}R_{2,11} & R_{2,12} \\R_{2,21} & R_{2,22}\end{bmatrix}}}{R = {{E\left\{ {H^{H}H} \right\}}\mspace{14mu} = {\begin{bmatrix}R_{11} & R_{12} \\R_{21} & R_{22}\end{bmatrix}\mspace{14mu} = {\begin{bmatrix}R_{1,11} & R_{1,12} \\R_{1,21} & R_{1,22}\end{bmatrix} + {\left\lbrack \begin{matrix}R_{2,11} & R_{2,12} \\R_{2,21} & R_{2,22}\end{matrix} \right\rbrack.}}}}}} & \left( {7\text{-}1} \right)\end{matrix}$

Power Normalization of Sub Blocks:

Where each of the correlation matrix R₁ and the correlation matrix R₂ isdecomposed into four sub blocks, a power of the four sub blocks may benormalized as illustrated in the following Equation 7-2:

{tilde over (R)}_(i,kl)=χ_(i,kl)R_(i,kl)  (7-2).

In this example, χ_(i,kl) denotes a real scalar as a normalizationfactor to satisfy Tr{|{tilde over (R)}_(i,kl)|}=n_(t)/2, where Tr{ }denotes a trace function.

Power Normalization of a Channel Correlation Matrix:

Where the correlation matrix R is decomposed into four sub blocks, apower of the four sub blocks may be normalized as given by the followingEquation 7-3:

$\begin{matrix}{{\overset{\sim}{R} = {{n_{t}{R/{Tr}}\left\{ R \right\}} = \begin{bmatrix}{\overset{\sim}{R}}_{11} & {\overset{\sim}{R}}_{12} \\{\overset{\sim}{R}}_{21} & {\overset{\sim}{R}}_{22}\end{bmatrix}}},} & \left( {7\text{-}3} \right)\end{matrix}$

where Tr{ } denotes the trace function.

Averaging:

Where χ_(i,kl) is calculated, the terminal may unify a plurality ofχ_(i,kl) values into χ_(a) to decrease the feedback overhead, and feedback the unified χ_(a) to the base station. χ_(a) may be illustrated bythe following Equation 7-4:

$\begin{matrix}{\chi_{a} = {{\frac{1}{2}\left\lbrack {\frac{\chi_{1,22}}{\chi_{1,11}} + \frac{\chi_{2,11}}{\chi_{2,22}}} \right\rbrack}.}} & \left( {7\text{-}4} \right)\end{matrix}$

The terminal may quantize {tilde over (R)} and χ_(a) disclosed in theabove Equation 7-3 and Equation 7-4, respectively, and may feed back thequantized {tilde over (R)} and χ_(a) to the base station as informationassociated with the correlation matrix R₁ and the correlation matrix R₂.

The base station may reconstruct the correlation matrix R₁ and thecorrelation matrix R₂ based on the quantized {tilde over (R)} and χ_(a),which may be illustrated by the following Equation 7-5. The terminal mayalso reconstruct the correlation matrix R₁ and the correlation matrix R₂based on {tilde over (R)} and χ_(a) that are calculated using the aboveEquation 6. Equation 7-5 may follow as:

$\begin{matrix}{{R_{2} = \begin{bmatrix}{\chi_{a}{\overset{\sim}{R}}_{11}} & {\sqrt{\chi_{a}}{\overset{\sim}{R}}_{12}} \\{\sqrt{\chi_{a}}{\overset{\sim}{R}}_{12}^{H}} & {\overset{\sim}{R}}_{22}\end{bmatrix}}{R_{2} = {\begin{bmatrix}{\chi_{a}{\overset{\sim}{R}}_{11}} & {\sqrt{\chi_{a}}{\overset{\sim}{R}}_{12}} \\{\sqrt{\chi_{a}}{\overset{\sim}{R}}_{12}^{H}} & {\overset{\sim}{R}}_{22}\end{bmatrix}.}}} & \left( {7\text{-}5} \right)\end{matrix}$

Accordingly, the base station and the terminal may share the correlationmatrix R₁ and the correlation matrix R₂ by sharing {tilde over (R)} andχ_(a). Because the base station and the terminal may share thecorrelation matrix R₁ and the correlation matrix R₂, the base stationand the terminal may obtain the same transformed codebook.

Transformation of a Codebook

The base station and the terminal may share the correlation matrix R₁and the correlation matrix R₂. The transformed codebook may be obtainedas a function of the correlation matrix R₁ and the correlation matrixR₂.

The transformed codebook may be obtained using various types of schemes.For example, the transformed codebook may vary based on the basecodebook C.

In this example, the base codebook C varies according to the correlationmatrix R₁ and the correlation matrix R₂. The base codebook C may bedefined in an Institute of Electrical and Electronics Engineers (IEEE)802.16e standard or an IEEE 802.16m standard. The base codebook C mayinclude N codewords, for example, v₁, v₂, v₃, . . . v_(N). The basestation and the terminal may divide the base codebook C into two subsetsC₁ and C₂, each including N/2 codewords. For example, the subsets C₁ andC₂ may be constructed so that a minimum chordal distance may increasebetween codewords V_(C) ₁ _(,1), . . . V_(C) ₁ _(,N/2), included in thesubset C₁, and a minimum chordal distance may increase between codewordsV_(C) ₂ _(,1), . . . , V_(C) ₂ _(,N/2), included in the subset C₂. Thetransformed codebook may be expressed by the following Equation 8:

$\begin{matrix}{\left\{ {\frac{R_{1}^{x}v_{C_{1},1}}{{R_{1}^{x}v_{C_{1},1}}}, \ldots \mspace{14mu}, \frac{R_{1}^{x}v_{C_{1},{N/2}}}{{R_{1}^{x}v_{C_{1},{N/2}}}}, \frac{R_{2}^{x}v_{C_{2},1}}{{R_{2}^{x}v_{C_{2},1}}}, \ldots \mspace{14mu}, \frac{R_{2}^{x}v_{C_{2},{N/2}}}{{R_{2}^{x}v_{C_{2},{N/2}}}}} \right\} , {x = 1},\frac{1}{2}, {\ldots \mspace{14mu}.}} & (8)\end{matrix}$

In this example, a calculation complexity at the base station or theterminal may be adjusted according to x.

Where the transmit antennas are single-polarized, R₁≈R₂=R. The aboveEquation 8 may be expressed by the following Equation 9:

$\begin{matrix}{{\left\{ \begin{matrix}{\frac{R_{1}^{x}v_{C_{1},1}}{{R_{1}^{x}v_{C_{1},1}}}, \ldots \mspace{14mu}, \frac{R_{1}^{x}v_{C_{1},{N/2}}}{{R_{1}^{x}v_{C_{1},{N/2}}}},} \\{\frac{R_{2}^{x}v_{C_{2},1}}{{R_{2}^{x}v_{C_{2},1}}}, \ldots \mspace{14mu}, \frac{R_{2}^{x}v_{C_{2},{N/2}}}{{R_{2}^{x}v_{C_{2},{N/2}}}}}\end{matrix} \right\} = \begin{Bmatrix}{\frac{R^{1/2}v_{1}}{{R^{1/2}v_{1}}},\ldots \mspace{14mu},} \\\frac{R^{1/2}v_{N}}{{R^{1/2}v_{N}}}\end{Bmatrix}}, {x = 1},\frac{1}{2}, {\ldots \mspace{14mu}.}} & (9)\end{matrix}$

A second scheme to obtain the transformed codebook may initially designthe base codebook C and then be applied to the base codebook C totransform the codebook. For example, the subset C₁ including thecodewords V_(C) ₁ _(,1), . . . , V_(C) ₁ _(,N/2), and the subset C₂including the codewords V_(C) ₂ _(,1), . . . , V_(C) ₂ _(,N/2) may beinitially designed and then the base codebook C including the codewords{v₁, v₂, v₃, . . . v_(N)}={V_(C) ₁ _(,1), . . . , V_(C) ₁ _(,N/2), V_(C)₂ _(,1), . . . , V_(C) ₂ _(,N/2)} may be designed. In this example, thebase station and the terminal may design the base codebook C, the subsetC₁, and the subset C₂, so that the minimum chordal distance betweencodewords belonging to each of the base codebook C, the subset C₁, andthe subset C₂ is sufficiently large. The base station and the terminalmay obtain the transformed codebook based on the base codebook C, whichmay be illustrated by the following Equation 10:

$\begin{matrix}{\left\{ {\frac{R_{1}^{x}v_{C_{1},1}}{{R_{1}^{x}v_{C_{1},1}}}, \ldots \mspace{14mu}, \frac{R_{1}^{x}v_{C_{1},{N/2}}}{{R_{1}^{x}v_{C_{1},{N/2}}}}, \frac{R_{2}^{x}v_{C_{2},1}}{{R_{2}^{x}v_{C_{2},1}}}, \ldots \mspace{14mu}, \frac{R_{2}^{x}v_{C_{2},{N/2}}}{{R_{2}^{x}v_{C_{2},{N/2}}}}} \right\} , {x = 1},\frac{1}{2}, {\ldots \mspace{14mu}.}} & (10)\end{matrix}$

Where the transmit antennas are single-polarized, R₁≈R₂=R. The aboveEquation 10 may be expressed by the following Equation 11:

$\begin{matrix}{{\left\{ \begin{matrix}{\frac{R_{1}^{x}v_{C_{1},1}}{{R_{1}^{x}v_{C_{1},1}}}, \ldots \mspace{14mu}, \frac{R_{1}^{x}v_{C_{1},{N/2}}}{{R_{1}^{x}v_{C_{1},{N/2}}}},} \\{\frac{R_{2}^{x}v_{C_{2},1}}{{R_{2}^{x}v_{C_{2},1}}}, \ldots \mspace{14mu}, \frac{R_{2}^{x}v_{C_{2},{N/2}}}{{R_{2}^{x}v_{C_{2},{N/2}}}}}\end{matrix} \right\} = \begin{Bmatrix}{\frac{R^{1/2}v_{1}}{{R^{1/2}v_{1}}},\ldots \mspace{14mu},} \\\frac{R^{1/2}v_{N}}{{R^{1/2}v_{N}}}\end{Bmatrix}}, {x = 1},\frac{1}{2}, {\ldots \mspace{14mu}.}} & (11)\end{matrix}$

The following Equation 12 through Equation 14 illustrate how eachtransformed codebook may be different to each other with respect tovarious types of schemes of calculating the channel correlation matrix.

Where the correlation matrix is calculated using R₁=E{₁^(H)h₁}=diag{1,1,χ,χ}, the transformed codebook may be expressed by thefollowing Equation 12:

$\begin{matrix}{{\begin{Bmatrix}{\frac{R_{1}^{x}v_{1}}{{R_{1}^{x}v_{1}}},\ldots \mspace{14mu},} \\\frac{R_{1}^{x}v_{N}}{{R_{1}^{x}v_{N}}}\end{Bmatrix} = {{\begin{Bmatrix}{\frac{{diag}\left\{ {1,1,\sqrt{\chi},\sqrt{\chi}} \right\} v_{1}}{{{diag}\left\{ {1,1,\sqrt{\chi},\sqrt{\chi}} \right\} v_{1}}},\ldots \mspace{14mu},} \\\frac{{diag}\left\{ {1,1,\sqrt{\chi},\sqrt{\chi}} \right\} v_{N}}{{{diag}\left\{ {1,1,\sqrt{\chi},\sqrt{\chi}} \right\} v_{N}}}\end{Bmatrix}.x} = 1}},\frac{1}{2},{\ldots \mspace{14mu}.}} & (12)\end{matrix}$

Where the correlation matrix is calculated using R₂=E{h₂^(H)h₂}=diag{χ,χ,1,1}, the transformed codebook may be expressed by thefollowing Equation 13:

$\begin{matrix}{{\left\{ \begin{matrix}{\frac{R_{2}^{x}v_{1}}{{R_{2}^{x}v_{1}}}, \ldots \mspace{14mu},} \\\frac{R_{2}^{x}v_{N}}{{R_{2}^{x}v_{N}}}\end{matrix} \right\} = {{\left\{ \begin{matrix}{\frac{{diag}\left\{ {\sqrt{\chi},\sqrt{\chi},1,1} \right\} v_{1}}{{{diag}\left\{ {\sqrt{\chi},\sqrt{\chi},1,1} \right\} v_{1}}},\ldots \mspace{14mu},} \\\frac{{diag}\left\{ {\sqrt{\chi},\sqrt{\chi},1,1} \right\} v_{N}}{{{diag}\left\{ {\sqrt{\chi},\sqrt{\chi},1,1} \right\} v_{N}}}\end{matrix} \right\}.x} = 1}},\frac{1}{2},{\ldots \mspace{14mu}.}} & (13)\end{matrix}$

Where the channel correlation matrix is calculated usingR=E{H^(H)H}=(1+χ)I, the transformed codebook may be expressed by thefollowing Equation 14:

$\begin{matrix}{{\left\{ {\frac{R^{x}v_{1}}{{R^{x}v_{1}}},\ldots \mspace{14mu},\frac{R^{x}v_{N}}{{R^{x}v_{N}}}} \right\} = \left\{ {v_{1},\ldots \mspace{14mu},v_{N}} \right\}},\mspace{14mu} {x = 1},\frac{1}{2},{\ldots \mspace{14mu}.}} & (14)\end{matrix}$

Generally, a principle where the base station and the terminal maygenerate the transformed codebook may be expressed by the followingEquation 15:

$\begin{matrix}{\begin{Bmatrix}\begin{matrix}\begin{matrix}{\frac{R_{1}^{1/2}v_{C_{1},1}}{{R_{1}^{1/2}v_{C_{1},1}}},\ldots \mspace{14mu},} \\{\frac{R_{1}^{1/2}v_{C_{1},{N/2}}}{{R_{1}^{1/2}v_{C_{1},{N/2}}}},}\end{matrix} \\{\frac{R_{2}^{1/2}v_{C_{1},1}}{{R_{2}^{1/2}v_{C_{1},1}}},\ldots \mspace{14mu},}\end{matrix} \\\frac{R_{2}^{1/2}v_{C_{1},{N/2}}}{{R_{2}^{1/2}v_{C_{1},{N/2}}}}\end{Bmatrix} = {\left\{ \begin{matrix}\begin{matrix}\begin{matrix}{\frac{{diag}\left\{ {1,1,\sqrt{\chi},\sqrt{\chi}} \right\} v_{C_{1},1}}{{{diag}\left\{ {1,1,\sqrt{\chi},\sqrt{\chi}} \right\} v_{C_{1},1}}},\ldots \mspace{14mu},} \\{\frac{{diag}\left\{ {1,1,\sqrt{\chi},\sqrt{\chi}} \right\} v_{C_{1},{N/2}}}{{{diag}\left\{ {1,1,\sqrt{\chi},\sqrt{\chi}}\; \right\} v_{C_{1},{N/2}}}},}\end{matrix} \\{\frac{{diag}\left\{ {\sqrt{\chi},\sqrt{\chi},1,1} \right\} v_{C_{1},1}}{{{diag}\left\{ {\sqrt{\chi},\sqrt{\chi},1,1} \right\} v_{C_{1},1}}},\ldots \mspace{14mu},}\end{matrix} \\\frac{{diag}\left\{ {\sqrt{\chi},\sqrt{\chi},1,1} \right\} v_{C_{1},{N/2}}}{{{diag}\left\{ {\sqrt{\chi},\sqrt{\chi},1,1} \right\} v_{C_{1},{N/2}}}}\end{matrix} \right\} .}} & (15)\end{matrix}$

Another Scheme to Transform a Codebook in Greater than or Equal to Rank2

In a rank greater than or equal to rank 2, a codebook may be transformedusing other schemes in addition to the aforementioned schemes.

For example, in the case of rank 2, a base codebook C of rank 2 mayinclude N codewords. A codeword Ck denotes an Nt×2 matrix and includes 2vectors. The codeword Ck may be expressed by the following Equation 16:

C_(k)=[c_(k,1)c_(k,2)] for k=1 . . . N  (16).

The transformed codebook Ĉ_(k) may be obtained according to thefollowing Equation 17:

Ĉ _(k)=orth([R ₁ ^(x) c _(k,1) R ₂ ^(x) c _(k,2)]),x=1,½,  (17).

Here, orth(A) denotes a result that is obtained by performing anorthogonality with respect to a matrix A.

Accordingly, the transformed codebook may be expressed by the followingEquation 18:

{Ĉ _(k)}_(k=1, . . . , N)γ{orth([R ₁ ^(x) c _(k,1) R ₂ ^(x) c_(k,2)])}_(k=1, . . . , N) ,x=1,½,  (18)

Generally, where codewords included in a first codebook include at leasttwo vectors, the first codebook may be transformed to a second codebookby making at least two correlation matrices that correspond to the atleast two vectors, respectively. For example, where T(R, c_(k)) isdefined as a transformed vector c_(k) based on a correlation matrix R, atransformed rank 2 codebook may be expressed by the following Equation19:

{Ĉ _(k)}_(k=1, . . . , N)={orth([T(R ₁ ,c _(k,1))T(R ₂ ,c_(k,2))])}_(k=1, . . . , N)  (19).

A codeword C_(k) with respect to a random rank r may include r columns.

In this example, the transformed rank 2 codebook may be expressed by thefollowing Equation 20:

{Ĉ _(k)}_(k=1, . . . , N)={orth([R _(a) ₁ ^(x) c _(k,1) R _(a) ₂ ^(x) c_(k,2) . . . R _(a) _(r) ^(x) c _(k,r)])}_(k=1, . . . , N,x=)1,½, . . .

a_(r), a_(r), . . . a_(r)=1 or 2

{Ĉ _(k)}_(k=1, . . . , N)={orth([T(R _(a) ₁ ,c _(k,1))T(R _(a) ₂ ,c_(k,2)) . . . T(R _(a) _(r) ,c _(k,r))])}_(k=1, . . . , N,)

a₁, a₂, . . . , a_(r)=1 or 2  (20).

As described above, where the transformed codebook is generated by thebase station and the terminal, the terminal may select a preferredvector or a preferred matrix based on the transformed codebook, and mayfeed back, to the base station, information associated with thepreferred vector or the preferred matrix. For example, informationassociated with the preferred vector or the preferred matrix may includeinformation associated with an index of the preferred vector or thepreferred matrix among codewords included in the transformed codebook.

Where information associated with the preferred vector or the preferredmatrix is fed back from the terminal to the base station, the basestation may determine a precoding matrix. The base station may precodeat least one data stream using the precoding matrix.

Examples of a Base Codebook to Generate a Transformed Codebook

The transformed codebook may vary according to the base codebook C, orthe subset C₁ and the subset C₂. Hereinafter, specific examples of thebase codebook C, or the subset C₁ and the subset C₂ used to generate thetransformed codebook will be described.

The base codebook C, or the subset C₁ and the subset C₂ may be obtainedfrom a 3-bit rank 1 codebook with respect to two transmit antennas,defined in an IEEE 802.16e standard, and may be expressed by thefollowing Equation 21:

(21). C₁= Index 1 2 6 7 1.0000 0.7940 0.3289 0.5112 0 −0.5801 + 0.1818i0.6614 + 0.6740i 0.4754 − 0.7160i C₂= Index 3 4 5 8 0.7940 0.7941 0.79410.3289 0.0576 + 0.6051i −0.2978 − 0.5298i 0.6038 + 0.0689i −0.8779 −0.3481i  

In this example, the index denotes a codeword included in the basecodebook C. For example, a codeword of an index 6 indicates V_(C1,6),and a codeword of an index 8 indicates V_(C2,8).

The base codebook C, or the subset C₁ and the subset C₂ may be obtainedfrom a 3-bit rank 1 codebook with respect to four transmit antennas,defined in the IEEE 802.16e standard, and may be expressed by thefollowing Equation 22:

(22). C₁= Index 1 4 5 6 1.0000 0.3780 0.3780 0.3780 0 0.2830 − 0.0940i−0.0841 + 0.6478i   0.5247 + 0.3532i 0 0.0702 − 0.8261i 0.0184 + 0.0490i0.4115 + 0.1825i 0 −0.2801 + 0.0491i   −0.3272 − 0.5662i   0.2639 +0.4299i C₂= Index 2 3 7 8 0.3780 0.3780 0.3780 0.3780 −0.2698 −0.5668i   −0.7103 + 0.1326i   0.2058 − 0.1369i 0.0618 − 0.3332i 0.5957 +0.1578i −0.2350 − 0.1467i   −0.5211 + 0.0833i   −0.3456 + 0.5029i  0.1587 − 0.2411i 0.1371 + 0.4893i 0.6136 − 0.3755i −0.5704 + 0.2113i  

The base codebook C, or the subset C₁ and the subset C₂ may be obtainedfrom a 6-bit rank 1 codebook with respect to four transmit antennas,defined in the IEEE 802.16e standard, and may be expressed by thefollowing Equation 23:

(23). C₁= Columns 1 through 4 Index: 36 54 20 30 0.5015 − 0.0000i 0.43820.6803 − 0.0000i 0.3227 + 0.0000i −0.2862 + 0.4416i   −0.3935 −0.4500i   −0.2432 + 0.5431i   −0.1524 + 0.1959i   −0.2457 + 0.2366i  0.0606 + 0.5088i −0.1269 + 0.2544i   0.7728 − 0.1445i −0.4112 +0.4314i   0.4314 − 0.0443i −0.2626 − 0.1825i   0.4423 + 0.1431i Columns5 through 8 Index: 39 52 47 57 0.4801 0.8936 − 0.0000i 0.5949 0.6570−0.4788 + 0.5464i   −0.1516 + 0.1154i   0.1558 − 0.2349i 0.1885 −0.2454i 0.3126 + 0.2377i −0.1195 − 0.0935i   0.6701 − 0.1264i −0.4445 +0.1772i   −0.2036 + 0.2147i   0.0609 − 0.3721i −0.0562 − 0.3139i  0.2727 + 0.4115i Columns 9 through 12 Index: 16 22 11 1 0.6264 0.2019 −0.0000i 0.6040 + 0.0000i 0.5000 0.1145 − 0.1440i 0.8742 − 0.1494i0.0823 + 0.3279i 0.0000 + 0.5000i 0.0745 − 0.3216i −0.1557 + 0.1842i  0.7147 + 0.0600i −0.5000 + 0.0000i   −0.2058 − 0.6500i   0.2608 −0.2157i −0.0624 + 0.0511i   −0.0000 − 0.5000i   Columns 13 through 16Index: 29 28 21 46 0.7339 + 0.0000i 0.5254 + 0.0000i 0.2752 − 0.0000i0.3064 − 0.0000i 0.0574 + 0.0819i 0.3940 − 0.2805i 0.1655 − 0.3560i−0.2241 + 0.3578i   −0.6296 + 0.0293i   0.1817 − 0.4617i −0.0849 +0.3618i   −0.0062 − 0.6070i   0.2104 − 0.0990i −0.4845 − 0.0953i  0.2054 + 0.7680i 0.5974 + 0.0506i Columns 17 through 20 Index: 2 53 1256 0.4529 − 0.0000i 0.4765 − 0.0000i 0.6378 − 0.0000i 0.5604 −0.0059 −0.3220i   0.6113 + 0.5146i −0.1356 − 0.2827i   0.4187 + 0.4254i 0.5830 +0.3666i −0.1360 + 0.3050i   −0.2834 − 0.3188i   0.3390 + 0.0502i0.4656 + 0.0082i −0.1513 − 0.0059i   −0.1532 + 0.5381i   −0.4326 −0.1582i   Columns 21 through 24 Index: 40 42 26 52 0.2819 + 0.0000i0.1669 0.3377 − 0.0000i 0.2051 + 0.0000i 0.3243 − 0.0827i −0.5821 +0.0361i   −0.0557 − 0.2152i   −0.1721 + 0.0352i   0.1090 − 0.2542i0.2189 + 0.7604i −0.5304 + 0.6184i   −0.1656 − 0.1100i   −0.7259 +0.4528i   0.0603 + 0.0463i 0.3649 − 0.1992i −0.9339 − 0.1241i   Columns25 through 28 Index: 59 19 63 5 0.2846 − 0.0000i 0.3299 + 0.0000i 0.8254− 0.0000i 0.5261 − 0.0000i 0.2029 + 0.0401i −0.1036 − 0.5704i   −0.1916− 0.0197i   0.4578 + 0.1394i 0.7669 − 0.0053i 0.3322 − 0.0914i 0.4524 −0.1277i −0.1299 + 0.4665i   −0.5189 − 0.1376i   −0.2763 − 0.6000i  0.2452 − 0.0239i 0.1388 + 0.4904i Columns 29 through 32 Index: 27 9 17 30.6259 + 0.0000i 0.3210 − 0.0000i 0.4733 + 0.0000i 0.4175 + 0.0000i−0.1124 + 0.3086i   0.2484 − 0.6006i −0.0350 + 0.4319i   −0.8206 −0.0812i   0.4073 − 0.2116i −0.4694 − 0.0851i   −0.6206 + 0.4210i  −0.0466 − 0.1324i   0.1762 + 0.5087i −0.2080 + 0.4514i   −0.1480 +0.0627i   −0.3040 + 0.1833i   C₂= Columns 1 through 4 Index: 4 6 7 80.5034 − 0.0000i 0.1673 − 0.0000i 0.2104 0.7564 − 0.0000i −0.1137 +0.3083i   −0.8917 − 0.2667i   −0.1630 − 0.1634i   0.2752 + 0.4443i0.0057 + 0.0633i 0.1501 + 0.2390i 0.2089 + 0.3931i 0.1752 + 0.1138i−0.3257 − 0.7270i   0.1110 + 0.1177i 0.1898 − 0.8175i −0.0804 +0.3233i   Columns 5 through 8 Index: 10 13 14 15 0.3436 + 0.0000i0.6384 + 0.0000i 0.1963 − 0.0000i 0.6758 + 0.0000i 0.4401 + 0.0659i0.3738 + 0.1332i 0.0907 + 0.0726i −0.5192 − 0.0785i   −0.5671 −0.0323i   −0.3179 − 0.3015i   0.5718 + 0.7828i 0.1093 − 0.3312i 0.5583 −0.2228i 0.1650 − 0.4645i 0.0911 + 0.0031i 0.1449 + 0.3534i Columns 9through 12 Index: 18 23 24 25 0.4043 + 0.0000i 0.4851 − 0.0000i 0.5810 +0.0000i 0.4697 + 0.0000i −0.5936 − 0.1742i   −0.4030 + 0.2770i  0.1118 + 0.1280i 0.8119 + 0.0535i 0.4292 − 0.0665i 0.3314 + 0.4502i−0.0460 − 0.0235i   −0.0709 − 0.2273i   0.5012 + 0.1185i −0.1667 −0.4303i   −0.0396 + 0.7933i   −0.1535 − 0.1924i   Columns 13 through 16Index: 31 33 34 35 0.3597 + 0.0000i 0.1759 + 0.0000i 0.1191 + 0.0000i0.6621 + 0.0000i −0.2780 − 0.4907i   −0.0345 + 0.1074i   −0.8248 +0.1153i   −0.2524 − 0.2046i   0.2756 − 0.5382i −0.5177 + 0.5301i  −0.0024 − 0.4536i   0.3214 + 0.1314i −0.3834 + 0.1998i   −0.3808 +0.5121i   0.2507 + 0.1533i 0.1376 − 0.5626i Columns 17 through 20 Index:37 38 41 43 0.1614 − 0.0000i 0.4525 + 0.0000i 0.7411 + 0.0000i 0.3285 −0.0000i 0.5947 + 0.4581i 0.3386 − 0.4038i 0.5741 + 0.0764i −0.1896 +0.0197i   −0.1229 − 0.0033i   −0.0663 + 0.4865i   −0.2356 + 0.0499i  0.1262 − 0.5180i −0.5490 − 0.3063i   0.4931 − 0.1826i 0.2345 + 0.0474i0.0010 + 0.7559i Columns 21 through 24 Index: 44 45 48 49 0.8612 0.47220.7806 0.2386 + 0.0000i 0.3610 + 0.0871i −0.1616 − 0.2107i   −0.4453 +0.0626i   0.0441 + 0.2702i 0.2273 − 0.2023i −0.7948 + 0.1071i   −0.4039− 0.0513i   −0.1984 − 0.4442i   −0.0091 − 0.1666i   −0.1053 + 0.2289i  −0.1043 + 0.1089i   0.0128 − 0.7945i Columns 25 through 28 Index: 50 5155 58 0.2363 0.7098 0.1984 − 0.0000i 0.1785 + 0.0000i 0.5887 − 0.2611i−0.6699 + 0.0265i   −0.3459 + 0.4714i   0.4083 + 0.5675i 0.3818 +0.5879i 0.1180 + 0.0872i 0.1675 − 0.1088i 0.1165 − 0.5211i 0.1613 −0.1097i 0.0780 − 0.1381i −0.2862 + 0.7050i   0.4406 − 0.0086i Columns 29through 32 Index: 60 61 62 64 0.9340 0.3029 + 0.0000i 0.1683 − 0.0000i0.4508 − 0.0000i 0.0187 + 0.0450i 0.3968 − 0.2460i −0.0101 + 0.3606i  −0.3115 − 0.3205i   −0.0862 − 0.1445i   −0.3833 − 0.5394i   −0.8263 +0.0850i   −0.3590 − 0.3505i   0.1595 + 0.2674i −0.3261 − 0.3822i  0.3460 − 0.1786i −0.5872 + 0.0231i  

The base codebook C, or the subset C₁ and the subset C₂ may be obtainedfrom a 3-bit rank 1 codebook with respect to two transmit antennas,defined in an IEEE 802.16m standard, and may be expressed by thefollowing Equation 24:

(24). C₁= Index: 1 2 5 6 0.7071 0.7071 0.7071 0.7071 0.7071 −0.7071  0.5000 + 0.5000i −0.5000 − 0.5000i   C₂= Index: 3 4 7 8 0.7071 0.70710.7071 0.7071 0 + 0.7071i 0 − 0.7071i −0.5000 + 0.5000i   0.5000 −0.5000i

The base codebook C, or the subset C₁ and the subset C₂ may be obtainedfrom a 4-bit rank 1 codebook with respect to four transmit antennas,defined in the IEEE 802.16m standard, and may be expressed by thefollowing Equation 25:

(25). C₁= Columns 1 through 4 Index: 1 2 3 4 0.5000 0.5000 −0.5000  −0.5000   0.5000 −0.5000   −0.5000   0.5000 0.5000 0.5000 0.5000 0.50000.5000 −0.5000   0.5000 −0.5000   Columns 5 through 8 Index: 5 6 7 80.5000 0.5000 −0.5000   −0.5000   0 + 0.5000i 0 − 0.5000i 0 − 0.5000i0 + 0.5000i 0.5000 0.5000 0.5000 0.5000 0 + 0.5000i 0 − 0.5000i 0 +0.5000i 0 − 0.5000i C₂= Columns 1 through 4 Index: 9 10 11 12 0.50000.5000 0.5000 0.5000 0.5000 0 + 0.5000i −0.5000   0 − 0.5000i 0.5000−0.5000   0.5000 −0.5000   −0.5000   0 + 0.5000i 0.5000 0 − 0.5000iColumns 5 through 8 Index: 13 14 15 16 0.5000 0.5000 0.5000 0.50000.3536 + 0.3536i    −0.3536 + 0.3536i      −0.3536 − 0.3536i      0.3536− 0.3536i    0 + 0.5000i 0 − 0.5000i 0 + 0.5000i 0 − 0.5000i −0.3536 +0.3536i      0.3536 + 0.3536i    0.3536 − 0.3536i    −0.3536 −0.3536i     

FIG. 3 illustrates an exemplary method of transforming a codebook by abase station and a terminal.

In 311, the base station transmits a well-known signal to the terminal.In 321, the terminal calculates a channel matrix between the terminaland the base station.

In 322, the terminal decomposes the channel matrix into at least twosubchannel matrices. In 323, the terminal calculates at least twocorrelation matrices corresponding to the at least two subchannelmatrices.

According to an exemplary embodiment, operation 322 may includedecomposing the channel matrix into the at least two subchannel matricesbased on at least one polarization of transmit antennas installed in thebase station, or at least one polarization of at least one receiveantenna installed in the terminal. In some embodiments, 322 may beomitted, and in 323 the terminal may calculate a correlation matrix thatcorresponds to the channel matrix.

Although not shown in FIG. 3, the terminal may normalize a power of subblocks included in each of the at least two correlation matrices, usingnormalization factors, and generate information associated with thenormalization factors.

In 324, the terminal transforms a codebook using the at least twocorrelation matrices.

In 325, the terminal generates information for the transmitter toreconstruct the at least two correlation matrices so that the basestation may also transform the codebook.

Information for the transmitter to reconstruct the at least twocorrelation matrices may include information associated with {tilde over(R)}_(a,11), {tilde over (R)}_(a,22), {tilde over (R)}_(a,12), andχ_(a), which is described above with reference to the above Equation 7.

In 326, the terminal feeds back information associated with {tilde over(R)}_(a,11), {tilde over (R)}_(a,22), {tilde over (R)}_(a,12), and χ_(a)to the base station as information associated with the least twocorrelation matrices.

In 312, the base station reconstructs or verifies the at least twocorrelation matrices based on information associated with {tilde over(R)}_(a,11), {tilde over (R)}_(a,22), {tilde over (R)}_(a,12), andχ_(a). In 313, the base station transforms the codebook based on thereconstructed or verified at least two correlation matrices. Using theabove information the base station can transform the codebook of thebase station such that the codebook transformed by the base station isthe same as the adapted codebook transformed by the terminal.

In the above described exemplary method, the terminal decomposes thechannel matrix into at least two subchannel matrices and the terminalcalculates at least two correlation matrices corresponding to the atleast two subchannel matrices. In some embodiments, the terminal cancalculate a correlation matrix that corresponds to the subchannelmatrix. The terminal may then feed back information associated with thecorrelation matrix for the base station to reconstruct. A codebookstored in the memory of the terminal can be adaptively transformed bythe terminal, based upon the correlation matrix, and a codebook storedin the memory of the base station can be transformed based upon thecorrelation matrix.

FIG. 4 illustrates an exemplary terminal 400.

The terminal 400 includes a memory 410, a channel matrix calculator 420,a correlation matrix calculator 430, a power normalization unit 440, aninformation generator 450, a feedback unit 460, and a codebooktransformation unit 470.

A codebook to be transformed may be stored in the memory 410. Forexample, a base codebook defined in an IEEE 802.16e standard, an IEEE802.16m standard, and the like may be stored in the memory 410.

The channel matrix calculator 420 may calculate a channel matrix betweenthe terminal 410 and a base station (not shown). The channel matrixcalculator 420 may decompose the channel matrix into one or moresubchannels, for example, one subchannel matrix, two subchannelmatrices, three subchannel matrices, or more. In this example, thechannel matrix is decomposed into at least two subchannel matrices.

The correlation matrix calculator 430 may calculate at least twocorrelation matrices corresponding to at least two subchannel matrices.The power normalization unit 440 may normalize a power of sub blocksincluded in each of the at least two correlation matrices, usingnormalization factors.

The information generator 450 may generate information for thetransmitter to reconstruct the at least two correlation matrices thatare associated with the plurality of sub blocks included in each of theat least two correlation matrices. For example, information for thetransmitter to reconstruct the at least two correlation matrices mayinclude information associated with a sum or an average between aplurality of sub blocks included in a particular matrix, and anotherplurality of sub blocks included in at least one other correlationmatrix. Information for the transmitter to reconstruct the at least twocorrelation matrices may include information associated with thenormalization factors. For example, information associated with thenormalization factors may be information associated with at least onevalue used to unify the normalization factors.

The feedback unit 460 may feed back, to the base station, informationfor the transmitter to reconstruct the at least two correlationmatrices.

The codebook transformation unit 470 may transform a codebook that isstored in the memory 410. For example, where a first codebook is storedin the memory 410, the codebook transformation unit 470 may transformthe first codebook to a second codebook. Also, the base station mayverify at least two correlation matrices based on information for thetransmitter to reconstruct the at least two correlation matrices. Thebase station may transform a first codebook stored in the memory of thebase station, to a second codebook that is the same as the secondcodebook of the terminal.

FIG. 5 illustrates an exemplary base station 500.

The base station 500 includes an information receiver 510, a correlationmatrix recognition unit 520, a codebook transformation unit 530, and aprecoder 540.

The information receiver 510 may receive information associated with oneor more correlation matrices corresponding to one or more subchannelmatrices that are included in a channel matrix between a terminal (notshown) and the base station 500. In this example the informationreceiver 510 receives information associated with at least twosubchannel matrices. As described above, information for the transmitterto reconstruct the at least two correlation matrices may includeinformation associated with {tilde over (R)}_(a,11), {tilde over(R)}_(a,22), {tilde over (R)}_(a,12), and χ_(a).

The correlation matrix recognition unit 520 may recognize the at leasttwo correlation matrices based on the received information that thetransmitter may use to reconstruct the at least two correlationmatrices.

The codebook transformation unit 530 may transform a pre-storedcodebook, for example, a first codebook or a base codebook.

The precoder 540 may generate a precoding matrix based on thetransformed codebook, and precode at least one data stream using theprecoding matrix.

The methods described above including a terminal and base stationcommunication method may be recorded, stored, or fixed in one or morecomputer-readable storage media that includes program instructions to beimplemented by a computer to cause a processor to execute or perform theprogram instructions. The media may also include, alone or incombination with the program instructions, data files, data structures,and the like. Examples of computer-readable media include magnetic mediasuch as hard disks, floppy disks, and magnetic tape; optical media suchas CD ROM disks and DVD; magneto-optical media such as optical disks;and hardware devices that are specially configured to store and performprogram instructions, such as read-only memory (ROM), random accessmemory (RAM), flash memory, and the like. Examples of programinstructions include both machine code, such as produced by a compiler,and files containing higher level code that may be executed by thecomputer using an interpreter. The described hardware devices may beconfigured to act as one or more software modules in order to performthe operations and methods described above, or vice versa. In addition,a computer-readable storage or recording medium may be distributed amongcomputer systems connected through a network and computer-readableinstructions or codes may be stored and executed in a decentralizedmanner.

As described herein, a number of exemplary embodiments may be applied inthe downlink and the uplink. For example, in the downlink, the basestation may be a ‘transmitter’ and the terminal may be a ‘receiver’. Onthe other hand, in the uplink, the base station may be a ‘receiver’, andthe terminal may be a ‘transmitter’.

As a non-exhaustive illustration only, the terminal device describedherein may refer to mobile devices such as a cellular phone, a personaldigital assistant (PDA), a digital camera, a portable game console, andan MP3 player, a portable/personal multimedia player (PMP), a handhelde-book, a portable lab-top PC, a global positioning system (GPS)navigation, and devices such as a desktop PC, a high definitiontelevision (HDTV), an optical disc player, a setup box, and the likecapable of wireless communication or network communication consistentwith that disclosed herein.

A number of exemplary embodiments have been described above.Nevertheless, it will be understood that various modifications may bemade. For example, suitable results may be achieved if the describedtechniques are performed in a different order and/or if components in adescribed system, architecture, device, or circuit are combined in adifferent manner and/or replaced or supplemented by other components ortheir equivalents. Accordingly, other implementations are within thescope of the following claims.

1. A communication method of a receiver, comprising: calculating achannel matrix between the receiver and a transmitter; calculating oneor more correlation matrices corresponding to the channel matrix betweenthe receiver and the transmitter; and feeding back information for thetransmitter to recognize the one or more correlation matrices.
 2. Themethod of claim 1, wherein the calculating a channel matrix furthercomprise decomposing the channel matrix into at least two subchannels,and the calculating comprises calculating at least two correlationmatrices that correspond to the at least two subchannel matrices.
 3. Themethod of claim 2, wherein the decomposing comprises decomposing thechannel matrix into the at least two subchannel matrices is based on atleast one of the polarization of one or more transmit antennas installedin the transmitter, and the polarization of one or more receive antennasinstalled in the receiver.
 4. The method of claim 1, further comprising:decomposing each of the one or more correlation matrices into aplurality of sub blocks; normalizing a power of the sub blocks includedin each of the one or more correlation matrices using normalizationfactors; and feeding back to the transmitter information associated withthe normalization factors.
 5. The method of claim 4, further comprising:unifying the normalization factors into at least one value to generateinformation associated with the normalization factors.
 6. The method ofclaim 2, further comprising: generating information for the transmitterto reconstruct the at least two correlation matrices that are associatedwith a plurality of sub blocks included in each of the at least twocorrelation matrices.
 7. The method of claim 6, wherein the generatingcomprises calculating a sum or an average between a plurality of subblocks included in a particular correlation matrix, and anotherplurality of sub blocks included in at least one other correlationmatrix, to generate information for the transmitter to reconstruct theat least two correlation matrices.
 8. The method of claim 6, wherein thegenerating comprises generating information for the transmitter toreconstruct the at least two correlation matrices using a symmetry ofeach of the at least two correlation matrices.
 9. The method of claim 1,wherein the feeding back comprises feeding back information for thetransmitter to reconstruct the one or more correlation matrices so thatthe transmitter transforms a first codebook to a second codebook. 10.The method of claim 1, further comprising: transforming a first codebookto a second codebook using the one or more correlation matrices.
 11. Themethod of claim 10, further comprising: selecting a preferred vector ora preferred matrix using the second codebook; and feeding back to thetransmitter information associated with the preferred vector or thepreferred matrix.
 12. A communication method of a transmitter,comprising: receiving information for the transmitter to reconstruct oneor more correlation matrices corresponding to a channel matrix between areceiver and the transmitter; recognizing the one or more correlationmatrices using the information received for the transmitter toreconstruct the one or more correlation matrices; and transforming afirst codebook to a second codebook using the one or more correlationmatrices.
 13. The method of claim 12, further comprising: generating aprecoding matrix using the second codebook.
 14. The method of claim 12,wherein the receiving comprises receiving information for thetransmitter to reconstruct at least two correlation matricescorresponding to at least two subchannel matrices included in a channelmatrix, and the recognizing comprises recognizing the at least twocorrelation matrices.
 15. The method of claim 14, wherein therecognizing comprises recognizing the at least two correlation matricesusing a symmetry of each of the at least two correlation matrices. 16.The method of claim 14, wherein the information for the transmitter toreconstruct the at least two correlation matrices is associated with asum or an average between a plurality of sub blocks, included in aparticular correlation matrix, and another plurality of sub blocks,included in at least one other correlation matrix.
 17. The method ofclaim 12, further comprising: receiving information associated withnormalization factors that are used to normalize a plurality of subblocks included in each of the one or more correlation matrices.
 18. Themethod of claim 17, wherein information associated with thenormalization factors is associated with at least one value used tounify the normalization factors.
 19. A computer-readable recordingmedium storing a program to implement a method comprising: calculating achannel matrix between a receiver and a transmitter; calculating one ormore correlation matrices corresponding to the channel matrix betweenthe receiver and the transmitter; and feeding back information for thetransmitter to recognize the one or more correlation matrices.
 20. Areceiver comprising: a channel matrix calculator to calculate a channelmatrix; a correlation matrix calculator to calculate one or morecorrelation matrices corresponding to the channel matrix between thereceiver and a transmitter; and a feedback unit to feed back informationfor the transmitter to reconstruct the one or more correlation matrices.21. The receiver of claim 20, wherein the channel matrix calculatorcalculates a channel matrix and decomposes the channel matrix into atleast two subchannel matrices.
 22. The receiver of claim 20, furthercomprising: a power normalization unit to normalize a power of subblocks included in each of the one or more correlation matrices usingnormalization factors, wherein the feedback unit feeds back informationassociated with the normalization factors.
 23. The receiver of claim 20,further comprising: an information generator to generate information forthe transmitter to reconstruct the one or more correlation matrices thatare associated with a plurality of sub blocks included in each of theone or more correlation matrices.
 24. The receiver of claim 20, furthercomprising: a codebook transformation unit to transform a first codebookto a second codebook using the one or more correlation matrices.
 25. Thereceiver of claim 24, further comprising: a selector to select apreferred vector or a preferred matrix using the second codebook,wherein the feedback unit feeds back, to the transmitter, informationassociated with the preferred vector or the preferred matrix.
 26. Thereceiver of claim 24, wherein, where codewords included in the firstcodebook include at least two vectors, the codebook transformation unittransforms the first codebook to the second codebook by making at leasttwo correlation matrices of the one or more correlation matrices,correspond to the at least two vectors.
 27. A transmitter comprising: aninformation receiver to receive information for the transmitter toreconstruct one or more correlation matrices corresponding to a channelmatrix between a receiver and the transmitter; a correlation matrixrecognition unit to recognize the one or more correlation matrices usingthe information for the transmitter to reconstruct the one or morecorrelation matrices; and a codebook transformation unit to transform afirst codebook to a second codebook using the at least two correlationmatrices.
 28. The transmitter of claim 27, further comprising: aprecoder to generate a precoding matrix using the second codebook. 29.The transmitter of claim 27, wherein, where codewords included in thefirst codebook include at least two vectors, the codebook transformationunit transforms the first codebook to the second codebook by making atleast two correlation matrices of the one or more correlation matrices,correspond to the at least two vectors, respectively.